package com.landinfo.service.dto;


import java.io.Serializable;
import java.util.List;
import java.util.Objects;

/**
 * A DTO for the SpecialMapServiceManage entity.
 */
public class SpecialMapServiceManageDTO implements Serializable {

    private String id;

    private String templateType;

    private String specialMapGroupName;

    private String parentId;

    private String name;

    private String type;

    private String url;

    private String mark;

    private Integer opacity;

    private Boolean visible;

    private Boolean close;

    private Boolean canUploadPhoto;

    private Integer sort;

    private Boolean enable;

    private List<SpecialMapServiceManageDTO> children;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTemplateType() {
        return templateType;
    }

    public void setTemplateType(String templateType) {
        this.templateType = templateType;
    }

    public String getSpecialMapGroupName() {
        return specialMapGroupName;
    }

    public void setSpecialMapGroupName(String specialMapGroupName) {
        this.specialMapGroupName = specialMapGroupName;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }

    public Integer getOpacity() {
        return opacity;
    }

    public void setOpacity(Integer opacity) {
        this.opacity = opacity;
    }

    public Boolean isVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

    public Boolean isClose() {
        return close;
    }

    public void setClose(Boolean close) {
        this.close = close;
    }

    public Boolean getCanUploadPhoto() {
        return canUploadPhoto;
    }

    public void setCanUploadPhoto(Boolean canUploadPhoto) {
        this.canUploadPhoto = canUploadPhoto;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Boolean isEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    public List<SpecialMapServiceManageDTO> getChildren() {
        return children;
    }

    public void setChildren(List<SpecialMapServiceManageDTO> children) {
        this.children = children;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        SpecialMapServiceManageDTO specialMapServiceManageDTO = (SpecialMapServiceManageDTO) o;
        if(specialMapServiceManageDTO.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), specialMapServiceManageDTO.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    @Override
    public String toString() {
        return "SpecialMapServiceManageDTO{" +
            "id=" + getId() +
            ", templateType='" + getTemplateType() + "'" +
            ", specialMapGroupName='" + getSpecialMapGroupName() + "'" +
            ", parentId='" + getParentId() + "'" +
            ", name='" + getName() + "'" +
            ", type='" + getType() + "'" +
            ", url='" + getUrl() + "'" +
            ", mark='" + getMark() + "'" +
            ", opacity='" + getOpacity() + "'" +
            ", visible='" + isVisible() + "'" +
            ", close='" + isClose() + "'" +
            ", canUploadPhoto='" + getCanUploadPhoto() + "'" +
            ", sort='" + getSort() + "'" +
            ", enable='" + isEnable() + "'" +
            "}";
    }

}
